package com.krisyu.observerPattern.template;

import java.util.Vector;

/**
 * @DATE 2022/1/7
 * @Author KrisYu
 * @Description 被观察者抽象类
 */
public abstract class Subject {
    // 定义一个观察者数组
    private Vector<Observer> observers = new Vector<>();

    // 增加一个观察者
    public void addObserver(Observer observer){
        this.observers.add(observer);
    }
    // 移除一个观察者
    public void removeObserver(Observer observer){
        this.observers.remove(observer);
    }
    // 通知观察者
    public void notifyObserver(){
        for (Observer observer : this.observers) {
            observer.update();
        }
    }
}
